首先织梦dedecms支持短信验证发送,先要去阿里大鱼下载sdk,引用其中5个基础文件即可,然后进入阿里大鱼开发平台申请一个帐号,新建应用,从后台获取appkey值和secretKey值;然后再新建一个短信模版,审核通过后取得模版id,同时如果需要在模版中传人参数可以在通过setSmsParam方法设置进去;同样短信签名也需要后台申请,审核通过才可以填写相应的短信签名进去;
做完上面的操作,把获取的参数根据下面的方法传入即可。
如下返回值是数组返回的,已解析,有点注意的是官方文档返回结构和实际的结构不一样,发送成功的返回的值是二维数组结构,发送失败的话则说简单的一维数组结构。(文章最底部有5个引用文件下载链接)
include('aldy/TopClient.php'); //这个是你下面实例化的类
include('aldy/ResultSet.php'); //这个是topClient 里面需要实例化一个类所以我们也要加载 不然会报错
include('aldy/RequestCheckUtil.php'); //这个是成功后返回的信息文件
include('aldy/TopLogger.php'); //这个是错误信息返回的一个php文件
include('aldy/AlibabaAliqinFcSmsNumSendRequest.php'); //这个也是你下面示例的类
//短信发送 模版id(TemplateCode),发送号码(RecNum),FreeSignName(短信签名)
function send_sms($TemplateCode,$RecNum,$FreeSignName){
$c = new TopClient;
$c->appkey = ;//appkey值
$c->secretKey = ;//secretKey值
$req = new AlibabaAliqinFcSmsNumSendRequest;
//$req->setExtend("123456");
$req->setSmsType("normal");
$req->setSmsFreeSignName($FreeSignName);
$req->setSmsParam("{\\"code\\":\\"1234\\",\\"product\\":\\"alidayu\\"}");.//模版参数
$req->setRecNum($RecNum);
$req->setSmsTemplateCode($TemplateCode);
$resp = $c->execute($req);
$content = json_decode(json_encode($resp),true);
try {
$result= $content['sub_msg'];
throw new Exception('It is an exception!');
} catch (Exception $e) {
if( $content['result']['success'] == 'true' ){
$result= '发送成功';
}else{
$result= '发送失败';
}
}
echo $result;
exit();
}
评论